//
// Created by Yang2 on 2022/4/28.
//
#include <GLES3/gl3.h>
#include <ImageDef.h>

#ifndef ORIGIN_GLSAMPLEBASE_H
#define ORIGIN_GLSAMPLEBASE_H



#define SAMPLE_TYPE                             200
#define SAMPLE_TYPE_KEY_TRIANGLE                SAMPLE_TYPE + 0
#define SAMPLE_TYPE_KEY_TEXTURE_MAP             SAMPLE_TYPE + 1

class GLSampleBase{
public:
    GLSampleBase(){
        m_ProgramObj = 0;
    }

    virtual ~GLSampleBase()
    {

    }
    virtual void Init() = 0;
    virtual void Draw(int screenW, int screenH) = 0;
    virtual void LoadImage(NativeImage *pImage)
    {};

    virtual void Destroy() = 0;

protected:
    GLuint m_ProgramObj;
};

#endif //ORIGIN_GLSAMPLEBASE_H